Evolving Logic Programs with Temporal Operators

نویسندگان

  • José Júlio Alferes
  • Alfredo Gabaldon
  • João Leite
چکیده

Logic Programming Update Languages have been proposed as extensions of logic programming that allow specifying and reasoning about knowledge bases where both extensional knowledge (facts) as well as intentional knowledge (rules) may change over time as a result of updates. Despite their generality, these languages are limited in that they do not provide a means to directly access past states of the evolving knowledge. They only allow for so-called Markovian change, i.e. change which is entirely determined by the current state of the knowledge base. After motivating the need for non-Markovian change, we extend the language EVOLP – a Logic Programming Update Language – with Linear Temporal Logic-like operators, which allow referring to the history of an evolving knowledge base. We then show that it is in fact possible to embed the extended EVOLP into the original one, thus demonstrating that EVOLP itself is expressive enough to encode non-Markovian dynamic knowledge bases. This embedding additionally sheds light on the relationship between Logic Programming Update Languages and Modal Temporal Logics. The embedding is also the starting point of our implementation.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Logic Programming System for Evolving Programs with Temporal Operators

Logic Programming Update Languages were proposed as an extension of logic programming that allows modeling the dynamics of knowledge bases where both extensional (facts) and intentional knowledge (rules) may change over time due to updates. Despite their generality, these languages do not provide a means to directly access past states of the evolving knowledge. They are limited to so-called Mar...

متن کامل

Verifying concurrent systems with symbolic execution: temporal reasoning is symbolic execution with a little induction

Symbolic execution is an intuitive strategy to verify sequential programs, which can be automated to a large extent. We have successfully carried over this method of proof to the interactive verification of concurrent systems. The resulting strategy can be applied to the verification of complex parallel programs and arbitrary (linear) temporal formulas. Our underlying logic is defined such that...

متن کامل

Temporal logic programs with variables

In this note we consider the problem of introducing variables in temporal logic programs under the formalism of Temporal Equilibrium Logic (TEL), an extension of Answer Set Programming (ASP) for dealing with linear-time modal operators. To this aim, we provide a definition of a first-order version of TEL that shares the syntax of first-order Linear-time Temporal Logic (LTL) but has a different ...

متن کامل

Projection in Temporal Logic Programming 3

Temporal Logic Programming [6, 7, 9] is a paradigm for the speci cation and veri cation of sequential and concurrent programs. Within a temporal logic programming language, such as Tempura [6], the next, always and chop are useful operators for sequential programs, while conjunction and parallel composition are basic operators for concurrent programming. An advantage of the conjunction construc...

متن کامل

Executing Temporal Logic Programs

Temporal logic is gaining recognition as an attractive and versatile formalism for rigorously specifying and reasoning about computer programs, digital circuits and message-passing systems. This book introduces Tempura, a programming language based on temporal logic. Tempura provides a way of directly executing suitable temporal logic specifications of digital circuits, parallel programs and ot...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011